@miyaneee/rollup-plugin-json5
🍣 A Rollup plugin which Converts .json5 files to ES6 modules. This plugin is very similar to json plugin officially provided beside the parser.
简体中文 | English
Requirements
This plugin requires an LTS Node version (v8.0.0+) and Rollup v1.20.0+.
Install
Using npm:
npm install @miyaneee/rollup-plugin-json5 -D
Or use yarn:
yarn add @miyaneee/rollup-plugin-json5 -D
Usage
Create a rollup.config.js
configuration file and import the plugin:
import json5 from '@miyaneee/rollup-plugin-json5'
export default {
input: 'src/index.js',
output: {
dir: 'output',
format: 'cjs'
},
plugins: [json5()]
}
Then call rollup
either via the CLI or the API.
Now .json5
file will be importable:
import json from 'path/to/json5.json5'
console.log(json)
Options
compact
Type: Boolean
Default: false
If true
, instructs the plugin to ignore indent
and generates the smallest code.
exclude
Type: String
| Array[...String]
Default: null
A minimatch pattern, or array of patterns, which specifies the files in the build the plugin should ignore. By default no files are ignored.
include
Type: String
| Array[...String]
Default: null
A minimatch pattern, or array of patterns, which specifies the files in the build the plugin should operate on. By default all files are targeted.
indent
Type: String
Default: '\t'
Specifies the indentation for the generated default export.
namedExports
Type: Boolean
Default: true
If true
, instructs the plugin to generate a named export for every property of the JSON object.
preferConst
Type: Boolean
Default: false
If true
, instructs the plugin to declare properties as variables, using either var
or const
. This pertains to tree-shaking.
includeArbitraryNames
Type: Boolean
Default: false
If true
and namedExports
is true
, generates a named export for not a valid identifier properties of the JSON object by leveraging the "Arbitrary Module Namespace Identifier Names" feature.
reviver
Type: ((this: any, key: string, value: any) => any) | null
See JSON5.parse().
LICENSE
MIT